package com.qiusuo0226.self.service;


import com.qiusuo0226.mvc.util.JsonResultModel;

/**
 * 账单资金源表 逻辑层
 * @author qiusuo
 * @date 2023/8/5 23:52
 */
public interface BillSourceService {

    /**
     * 新增账单资金源
     * @param creater 账单资金源创建者唯一标识
     * @param sourceName 资金源名称
     * @param sourceAmount 资金源金额
     * @return
     */
    JsonResultModel add(String creater, String sourceName, Double sourceAmount);

    /**
     * 编辑账单资金源
     * @param creater 账单资金源创建者唯一标识
     * @param sourceIid 账单资金源唯一标识
     * @param sourceName 资金源名称
     * @param sourceAmount 资金源金额
     * @return
     */
    JsonResultModel edit(String creater, String sourceIid, String sourceName, Double sourceAmount);

    /**
     * 删除账单资金源
     * @param sourceIids 账单资金源唯一标识集合，多资金源用英文逗号分隔
     * @return
     */
    JsonResultModel remove(String sourceIids);

    /**
     * 账单资金源列表
     * @param creater 账单资金源创建者唯一标识
     * @return
     */
    JsonResultModel list(String creater);

    /**
     * 根据资产唯一标识对资产金额加减
     * @param sourceIid 资产唯一标识
     * @param amount 增加金额（正数就是增加，负数就是减少）
     * @return 修改资产金额是否成功
     */
    boolean modifyAmount(String sourceIid, Double amount);

}
